home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine CD 1995 / Archive Magazine CD 1995.iso / discs / prog_disc / volume_8 / issue_01 / hd_speed / Instrucs
Encoding:
Text File  |  1994-08-21  |  8.7 KB  |  166 lines

  1.  
  2.                 Hard disc speed test
  3.                 --------------------
  4.  
  5. This program is © David Holden 1993,1994. Permission is given for it to
  6. be freely used and copied by private individuals for their own use.
  7.  
  8. Distribution by any commercial organisation or any commercial use
  9. or use to demonstrate or promote any product, whether for profit or
  10. otherwise, without prior permission, is absolutely forbidden.
  11.  
  12.  
  13. This is a very simple program for testing the speed of a hard disc
  14. drive. It can be used to test any type of discs, even floppies, on any
  15. filing system. The only requirements are that it must be a standard
  16. Filecore filing system and respond to normal OS_File commands. It was
  17. originally written entirely for my own use and so isn't particularly
  18. fancy or sophisticated. I have looked at lots of hard disc speed
  19. programs and this is the only one I have seen where the test results
  20. obtained correspond with the 'subjective' feel I get from the drive when
  21. I use it. In recent years I have tried many different types of drive and
  22. interface and I have never yet found one which gave test results which
  23. were at odds with the 'feel' of the drive when I use it. In fact I never
  24. use this test first, I try the drive, form an opinion and THEN test it,
  25. as this way my subjective opinion can't be influenced by the test.
  26.  
  27. This program, unlike most of those supplied by hard disc distributors,
  28. is NOT designed to show up the best points of a particular drive or
  29. interface. I am not interested in phony Mb/sec statistics because they
  30. are absolutely meaningless. (When was the last time you sat in front of
  31. a Mode 0 screen swapping 20Md chunks of data around?). The tests used
  32. are intended to reflect the way that drives are used in the real world,
  33. and to return results which, although perhaps not meaningful in absolute
  34. terms, can be directly compared with the results obtained when the
  35. program is used with another drive or interface to give a comparison
  36. between the performance you will experience when you put them to work
  37. for normal everyday use.
  38.  
  39.         Using HD Speed
  40.         --------------
  41.  To use the program just copy it to the drive you want to test and
  42. double-click on the icon. It will then run as a single-tasking utility
  43. displaying results in a text window. It does not poll the Wimp because
  44. this would upset the results. Similarly it uses whatever screen mode you
  45. have chosen, thus the results will be repeated when you use the drive
  46. 'for real'.
  47.  
  48. Because you copy it to the drive you want to try it automaticlly 'knows'
  49. which drive and filing system to test. Obviously this drive must have
  50. enough free space for the test files to be created.
  51.  
  52. The tests used are divided into two sections, random access and block
  53. load/save.
  54.  
  55.  
  56.         Random access tests
  57.         -------------------
  58.  First a large test file is created. By default this is 8Mb but you can
  59. easily change it as it is set by the variable 'rnd_file%' at the start
  60. of the program. The first test reads 50K sequentially from this file,
  61. the next test writes 50K sequentially. This should give a fairly fast
  62. result. The next two tests do the same with 500K. These sizes were
  63. chosen because most cached drives have at least a 64K cache so the first
  64. test will use this but none have a chache as large as 500K so the drive
  65. will need to read directly from the disc frequently. Unless you have a
  66. very small drive the head should only need to step once or twice during
  67. this test so step speed should not be a significant factor.
  68.  
  69. The next four tests are much more demanding. These uses the same random
  70. access file but read and write 1,000 bytes to anywhere in the file at
  71. random. (In fact the random number generator is 'seeded' so that the
  72. same random sequence is generated each time). The first pair just
  73. write to the first 50K so not much track switching should be needed
  74. and in fact a well managed cache could 'field' much of this. The second
  75. test reads and writes over the whole file. 1,000 operations might not
  76. sound like a lot, but of you have an 8Mb file the disc head will have to
  77. do a LOT of rushing about as it zooms from one end of the file to the
  78. other. It is a superb trial of drive 'step' and 'seek' speed and is
  79. perhaps the most demanding test used. A large modern drive should
  80. perform well here but if you have an old ST506 drive go and put the
  81. kettle on first - it really will take ages!
  82.  
  83.         Block load/save
  84.         ---------------
  85.  These use standard OS_File commands to load and save a block of memory.
  86. The first two test load and save a 50Kb file. This isn't a very large
  87. file but it about the average file used by most programs. The next two
  88. test again load and save but this time the block of memory is very much
  89. larger. By deafult this is 2Mb but it is set by the variable
  90. 'blockfile%' at the start of the program so you can easily change it.
  91. Obvioulsy you will need at least 4Mb of RAM to retain it at this size,
  92. so if you have only 2Mb I suggest you change its value to 1024
  93.  
  94. The next three tests are a variation on this theme. The first
  95. alternately loads and saves a 50K block, the second a 512K block and the 
  96. third alternately loads and saves the large block file.
  97.  
  98. The reason for the choice of these three sizes are that 50K will
  99. probably be held in the cache of a cached drive as many modern drives
  100. have a 64K cache. Since 50K is a reasonable average file size on a
  101. Archimedes it gives a good indication of repeatedly loading/saving a wp
  102. or program source file and hence the 'hold-up time' you are likely to
  103. experience if you have some sort of 'automatic save' system. 512K
  104. certainly won't be held in the cache so this is a good test of loading
  105. and saving larger DTP, graphics, spreadsheet etc files.
  106.  
  107. Results of each test are shown as the total time taken in hundredths of
  108. a second. After this is shown the percentage speed increase over a
  109. 'baseline' which was derived from carrying out the same tests on an A400
  110. series machine fitted with the standard Acorn interface and a 20 Mb
  111. Western Digital 65ms ST506 drive. Obviously if you change the size of
  112. the test files the percentages will be innacurate.
  113.  
  114.         Saving the results
  115.         ------------------
  116.  When the tests are complete you will be prompted for a filename. Type a
  117. suitable name and press RETURN. The results will then be saved in the
  118. sub-directory 'Results' of the application directory. DON'T FORGET that
  119. they will be saved in the actual program you have RUN. If you want to
  120. preserve them youwill have to copy the file to you main disc. I know
  121. this sin't 100% satisfactory but it's very simple and if you are
  122. carrying out a lot of tests on different drives you will probably have a
  123. copy of the program on a floppy disc anyway, so all you need to do is to
  124. copy the results to this after each test.
  125.  
  126.         General
  127.         -------
  128.  You must obvioulsy have enough space on the drive to hold the temporary
  129. file. In order to get the best results you must ensure that this file is
  130. contiguous, ie. not fragmented. If the drive you are testing has been in
  131. use for some time it could well be that although it might have 20Mb of
  132. free space theis is all in small chunks. When you create the test file
  133. it could be split up into several pieces spread about all over the disc
  134. and you will get extremely disapointing results, especially to the large
  135. file random access tests. You should therefore Compact the disc first so
  136. that all the empty space is in a contiguous block. If the interface
  137. doesn't support a proper Compact where the data is physically moved then
  138. you might get poor results, but these will reflect the real state which
  139. will exist when your drive gets full.
  140.  
  141. This program is written entirely in Basic and I make no claims that is
  142. particularly optimised for speed. This isn't important because it is
  143. intended for comparison and not to give artificially optimised results
  144. to promote a product. The 'program' overhead will be only a very small
  145. part of the time taken and will, in any event, be the same whatever
  146. drive or interface you are using, so it doesn't really matter. Using
  147. Basic means that you can easily change any of the values used if you
  148. wish to. For the same reason although the 'working' version is
  149. 'crunched' you will also find a version called 'Source' which isn't.
  150. The crunching has been done is such a way thst you can load it into an
  151. editor and change it without problems.
  152.  
  153. While you may alter the program for your own personal use you MUST NOT
  154. distribute any altered version. If you wish to to so you should place a
  155. copy of your version of the program in a sub-directory of the
  156. application directory  with a text file explaining the changes you have
  157. made so that users can choose your version if they wish. Please also
  158. send me a copy as I certainly don;t claim that the program is definitive
  159. and will add any worthwhile routines to the main program.
  160.  
  161.  
  162.         David Holden
  163.         39 Knighton Park Road
  164.         Sydenham
  165.         London  SE26 5RN
  166.